package algoritmi;

/**
 * 
 * @author Maja Kabiljo
 * 
 */
public class InformacijeOJednomKoraku {
	private final int stavi, naPoziciju;
	private final boolean vecJeUKesu;
	private final int[] vrednosti;
	private final int brojPogodaka;

	public InformacijeOJednomKoraku(int stavi, int naPoziciju, boolean vecJeUKesu, int[] vrednosti,
			int brojPogodaka) {
		this.stavi = stavi;
		this.naPoziciju = naPoziciju;
		this.vecJeUKesu = vecJeUKesu;
		this.vrednosti = vrednosti;
		this.brojPogodaka = brojPogodaka;
	}

	/**
	 * @return - Vraca da li je zadnjom referencom proizveden pogodak ili ne.
	 */
	public boolean vecJeUKesu() {
		return vecJeUKesu;
	}

	/**
	 * @return - Vraca zadnje ubacenu referencu.
	 */
	public int staSeUbacuje() {
		return stavi;
	}

	/**
	 * @return - Vraca na koje je mesto u kesu stavljena zadnja referenca.
	 */
	public int naKojuPozicijuSeUbacuje() {
		return naPoziciju;
	}

	/**
	 * @return - Vraca trenutno stanje svih elemenata u kesu.
	 */
	public int[] getVrednosti() {
		return vrednosti;
	}

	/**
	 * @return - Vraca koliko je pogodaka bilo do sad.
	 */
	public int getBrojPogodaka() {
		return brojPogodaka;
	}

	@Override
	public String toString() {
		StringBuilder ret = new StringBuilder();
		ret.append("[ stavi stranicu ").append(stavi).append(" na ").append(naPoziciju);
		ret.append(vecJeUKesu ? "; vec je tu" : "; sad je ubacujemo").append("\n");
		ret.append("\tvrednosti: ").append(Utils.nizUString(vrednosti)).append("\n");
		ret.append("\tpogodaka: ").append(brojPogodaka).append("]");
		return ret.toString();
	}
}
